/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package CapaLogica;


import CapaDatos.Habitacion;
import CapaDatos.ListaHabitacion;
import CapaDatos.Reserva;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JOptionPane;

/**
 *
 * @author Cisco
 */
public class ComunicaHabitacion {
     /** atributo de tipo ListaHabitacion **/
 private static ListaHabitacion lasHabitaciones = new ListaHabitacion();
/**
 * firma para agregar una habitacion
 * @param idHab el Id de la habitacion
 * @param area el area en donde se encuentra
 * @param edoActual el estado de la habitacion (dañada/reparacion/habilitada)
 */
    public void obtenerHabitacion(String idHab, String area, String edoActual )
    {

     Habitacion laHabitacion = new Habitacion(idHab,area, edoActual);
     lasHabitaciones.agregarElemento(laHabitacion);
     JOptionPane.showMessageDialog(null, "La Habitacion se agregado satisfactoriamente");
    }


    public void editarHabitacion (String id)
    {
      Habitacion laHabitacion;
      if(id.equals("")== false)
      {
      laHabitacion = lasHabitaciones.BuscarHabitacion(id);
      if( laHabitacion != null && laHabitacion.getID().equals(id))
      {
      lasHabitaciones.removerElemento(laHabitacion);
      }
      else
         JOptionPane.showMessageDialog(null, "La habitacion no ha sido agregada");
      }
      else
          JOptionPane.showMessageDialog(null, "Cedula requerida");
    }



    public void eliminarHabitacion (String id)
    {
       Habitacion laHabitacion;

       if(id.equals("")== false)
      {
       laHabitacion = lasHabitaciones.BuscarHabitacion(id);
       if( laHabitacion != null && laHabitacion.getID().equals(id))
       {
          lasHabitaciones.removerElemento(laHabitacion);
         JOptionPane.showMessageDialog(null, "La habitacion ha sido eliminada");
       }
       else
           JOptionPane.showMessageDialog(null, "La habitacion no se ha encontrado");
      }
       else
         JOptionPane.showMessageDialog(null, "Cedula requerida");
   }

        /**
     * firma para validar que el rango de fechas no pertenezca a otra habitacion
     * @param fechaInicio la fecha de inicio
     * @param fechaFin la fecha de fin
     * @param fechaIRes la fecha de incio de la reserva ya efectuada anteriormente
     * @param fechaFRes la fecha de fin de la reserva ya efectuada anteriormente
     * @return boolean, TRUE si las fehcas estan bien introducidas, FALSE si no lo estan
     * @throws ParseException
     */
   public Boolean validarRangoFechas (String fechaInicio, String fechaFin, String fechaIRes, String fechaFRes) throws ParseException
    {
        String DateFormat = "dd/MM/yyyy";
        SimpleDateFormat sdf = new SimpleDateFormat(DateFormat);
        Date c1= sdf.parse(fechaInicio);
        Date c2= sdf.parse(fechaFin);
        Date c3 = sdf.parse(fechaIRes);
        Date c4 = sdf.parse(fechaFRes);

        if (c1.before(c3) && c1.before(c4) && c2.before(c3) && c2.before(c4)) // antes de la fecha {
        return true;

        if (c1.after(c3) && c1.after(c4) && c2.after(c3) && c2.after(c4)) // despues de la fecha{
         return true;
          else
          return  false;
      }


     /* firma para validar que el rango de fechas no pertenezca a otra habitacion
     * @param fechaInicio la fecha de inicio
     * @param fechaFin la fecha de fin
     * @param fechaIRes la fecha de incio de la reserva ya efectuada anteriormente
     * @param fechaFRes la fecha de fin de la reserva ya efectuada anteriormente
     * @return boolean, TRUE si las fehcas estan bien introducidas, FALSE si no lo estan
     * @throws ParseException
     */

}
